;; Test file for numeric procedures

;; Test exact? and inexact?
(exact? 1)
(exact? 1/2)
(exact? 1.5)
(inexact? 1)
(inexact? 1/2)
(inexact? 1.5)

;; Test type predicates
(integer? 42)
(rational? 42)
(real? 42)
(complex? 42)
(rational? 1/2)
(real? 1/2)
(complex? 1/2)
(real? 1.5)
(complex? 1.5)
(complex? 1+2i)
(real? 1.5+0.0i)

;; Test odd? and even?
(odd? 3)
(odd? 4)
(even? 4)
(even? 5)

;; Test max and min
(max 1 2 3)
(min 1 2 3)
(max 1.5 2.7 0.3)
(min 1.5 2.7 0.3)

;; Test abs
(abs -5)
(abs -3/4)
(abs -1.5)

;; Test quotient, remainder, and modulo
(quotient 10 3)
(remainder 10 3)
(modulo 10 3)
(quotient -10 3)
(remainder -10 3)
(modulo -10 3)

;; Test gcd and lcm
(gcd 12 18)
(gcd 12 18 24)
(lcm 12 18)
(lcm 12 18 24)
(gcd 0 5)
(lcm 0 5)

;; Test floor, ceiling, truncate, and round
(floor 3.7)
(ceiling 3.7)
(truncate 3.7)
(round 3.7)
(floor -3.7)
(ceiling -3.7)
(truncate -3.7)
(round -3.7)

;; Test rationalize
(rationalize 0.3 0.1)
(rationalize 1 1/10)
(rationalize 0 1)

